package com.hsyt.pms.orm.sys;

import com.hsyt.pms.api.dto.system.SysFunctionDto;
import com.hsyt.pms.api.entity.system.SysFunction;
import com.hsyt.pms.api.vo.system.SysFunctionVo;
import com.hsyt.pms.api.vo.system.TreeNode;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @ClassName: SysFunctionDao
 * @Description: 菜单服务Dao
 * @author wangze@hsyuntai.com
 * @date 2019年2月12日 下午2:45:51
 */
@Repository
public interface SysFunctionDao {

    int insertSelective(SysFunctionDto dto);

    int updateByPrimaryKeySelective(SysFunctionDto dto);

    int getFunctionCount(SysFunctionDto dto);

    List<SysFunctionVo> queryFunctionByDto(SysFunctionDto dto);

    List<TreeNode> getMenus(@Param(value = "userId") Long userId, @Param(value = "dto") SysFunctionDto dto);

    // 目录结构-超级管理员
    List<SysFunction> adminGetLeftMenuList();
    // 目录结构-超级管理员-节点
    List<SysFunction> adminGetSubLeftMenuList(@Param(value = "code") String code);
    // 目录结构-普通用户
    List<SysFunction> getLeftMenuList(Long id);
    // 目录结构-普通用户--节点
    List<SysFunction> getLeftSubMenuList(@Param(value = "userId") Long id, @Param(value = "code") String code);

}
